﻿using System.Collections.Generic;

namespace Sinacor.Servico.Bovespa.Contabil.Service.ServiceImplementation.Translator.BusinessEntityToDataContract
{
    /// <summary>
    /// ServiceImplementation.Translator.BusinessEntityToDataContract Class - ContaContabil
    /// </summary>
    public class ContaContabil
    {
        #region Métodos Públicos

        /// <summary>
        /// Traduz uma BusinessEntity.ContaContabil para um DataContract.Response.ContaContabilResponse.
        /// </summary>
        /// <param name="entity">BusinessEntity.ContaContabil</param>
        /// <returns>DataContract.Response.ContaContabilResponse</returns>
        public DataContract.Response.ContaContabilResponse ToContaContabilResponse(BusinessEntity.ContaContabil entity)
        {
            DataContract.Response.ContaContabilResponse response = new DataContract.Response.ContaContabilResponse();

            response.CodigoResumido = entity.CodigoResumido;
            response.Digito = entity.Digito;
            response.NomeConta = entity.NomeConta;
            response.NumeroConta = entity.NumeroConta;

            return response;
        }

        /// <summary>
        /// Traduz uma lista de entidades de negócio do tipo BusinessEntity.ContaContabil para uma lista
        /// de contratos de dados do tipo DataContract.Response.ContaContabilResponse.
        /// </summary>
        /// <param name="entityList">Lista de entidades do tipo BusinessEntity.ContaContabil</param>
        /// <returns>Lista de contratos de dados do tipo DataContract.Response.ContaContabilResponse</returns>
        public List<DataContract.Response.ContaContabilResponse> ToContaContabilResponse(List<BusinessEntity.ContaContabil> entityList)
        {
            List<DataContract.Response.ContaContabilResponse> responseList = new List<DataContract.Response.ContaContabilResponse>();

            foreach (BusinessEntity.ContaContabil entity in entityList)
                responseList.Add(this.ToContaContabilResponse(entity));

            return responseList;
        }

        #endregion
    }
}